package com.idp.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.idp.system.dto.SysMenuDto;
import com.idp.system.entity.SysMenuEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 菜单Mapper
 * @author king
 */
@Mapper
public interface SysMenuMapper extends BaseMapper<SysMenuEntity> {
	
	/**
	 * 通过父级菜单id获取菜单列表
	 * @param parentId
	 * @return
	 */
	List<SysMenuDto> getListByParentId(String parentId);
	
	/**
	 * 获取树形结构菜单
	 * @param params
	 * @return
	 */
	List<SysMenuDto> findAllForTree(Map<String, String> params);
	
	/**
	 * 通过用户id获取用户的权限菜单
	 * @param userId
	 * @return
	 */
	List<SysMenuDto> findRuleMenus(String userId);
	
	/**
	 * 获取所有菜单以及按钮
	 * @return
	 */
	List<SysMenuDto> findAllAndButtons();
	
	/**
	 * 查询菜单下按钮
	 * @param id
	 * @return
	 */
	SysMenuDto getButtonsByMenuId(String id);
	
}
